<html>
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Menus <i>pop-up</i> e arquivos</title>
</head>
<body bgcolor="FFFFFF">

<h1>Menus <i>pop-up</i> e arquivos</h1>

<p> O menu <i>pop-up</i> para a memória inclui quatro opções além
das opções comuns a todos os componentes: </p>
<ul>

<li> Editar conteúdo: Abrir um editor hexadecimal para editar o conteúdo
de memória. 
</li>

<li> Limpar conteúdo: Redefinir todos os valores na memória como 0
</li>

<li> Carregar imagem...: Redefinir todos os valores na memória com base em valores
encontrados em um arquivo usando o formato descrito abaixo. 
</li>

<li> Salvar imagem...: Armazenar todos os valores na memória em um arquivo usando
o formato descrito abaixo. 
</li>

</ul>

<p> O formato de arquivo usado para arquivos de imagem é intencionalmente simples;
isso lhe permitirá escrever um programa, como um montador, que
gerará imagens de conteúdos que poderão ser carregados na memória.
Como exemplo desse formato de arquivo, se tivermos uma memória de 256-bytes cujos
cinco primeiros bytes de 2, 3, 0, 20, e -1, e todos os valores subsequentes
forem 0, a imagem em arquivo texto teria o seguinte conteúdo:
</p>
<blockquote><pre>
v2.0 raw
02
03
00
14
ff
</pre></blockquote>
<p> A primeira linha identifica o formato de arquivo usado (atualmente, só existe
um formato de arquivo reconhecido). Valores subsequentes listados em
hexadecimal, a partir de endereço 0. Você poderá colocar vários desses
em uma mesma linha. Se houver mais posições de memória que as identificadas
no arquivo, o Logisim irá carregar 0 nessas outras posições.
</p>

<p> O arquivo de imagem poderá usar codificação do tipo <i>run-length</i>. Por exemplo,
ao invés de listar o valor <tt> 00</tt> dezesseis vezes em sequência, o arquivo
poderá incluir <tt> 16*00</tt>. Alerto que o número de repetições é escrito em base 10.
Arquivos produzidos pelo Logisim usarão essa codificação para todos os casos com
pelo menos quatro valores.
</p>

<p> Você poderá colocar comentários no arquivo usando o símbolo '#'. Todos os caracteres
na linha a partir do símbolo "#" serão ignorado pelo Logisim. 
</p>

<p><strong>Próximo:</strong> <a href="hex.html">Editor hexadecimal</a>.</p>

</body>
</html>
